
//1、函数的调用可以写在定义之前 

var index = 2

if (index == 1)
{
	test()

	function test()
	{
		console.log("hello")

	}
}
else if (index == 2)
{

	//require()  //这个函数是node的函数(Module.require)不是js的  在浏览器console输出：require is not defined
	//http://www.111cn.net/wy/js-ajax/87046.htm
	module.exports.name1 = function() {
	    console.log('My name is Lemmy Kilmister');
	};
	exports.name = function() {
	    console.log('My name is Lemmy Kilmister');
	};
	this.name2 ="111"

	//module.exports是真正的接口，exports只不过是它的辅助工具
	//(只有当module.exports是一个对象时--{} 这个工具才有效 如果module.exports="xxx" 则工具失效)
	console.log('module.id: ', module.id);
    console.log('module.exports: ', module.exports);
    console.log('module.parent: ', module.parent);
    console.log('module.filename: ', module.filename);
    console.log('module.loaded: ', module.loaded);
    console.log('module.children: ', module.children);
    console.log('module.paths: ', module.paths);
    this.name = "111"

    //以下输出全是true 表示 exports、module.exports、this都指向同一个对象（{}）
    console.log(module.exports === this);  
	console.log(module.exports === exports);  
	console.log(this === exports);  

// 根据CommonJS规范，一个单独的文件就是一个模块。加载模块使用require方法，
// 该方法读取一个文件并执行，最后返回文件内部的exports对象。



}
